<html>
<head>
<title>TTempSmooth</title>
<link rel="stylesheet" type="text/css" href="../../avisynth.css">
<!--
Automatically generated, don't change:
$Id: ttempSmooth.htm,v 1.1 2005/10/03 16:31:31 macpaille Exp $ 
-->
</head>
<body>
<h1>TTempSmooth</h1>
<h2>Abstract</h2>
<b>author:</b>    tritical
<br><b>version:</b>        0.9.2<br>
<b>download:</b>   <a href="http://bengal.missouri.edu/~kes25c/">http://bengal.missouri.edu/~kes25c/</a>
<br><b>category:</b> Temporal Smoothers
<br><b>requirements:</b>&nbsp;
<ul>
  <li>YV12 &amp; YUY2 Colorspace</li>
</ul>

<p><b>license:</b> GPL</p>

<hr size=2 width="100%" align=center>

<!-- #EndTemplate -->
<h2>Description</h2>
<p>      TTempSmooth is a motion adaptive (it only works on stationary parts of the picture), temporal   smoothing filter.  TTempSmoothF is a faster (50-75%)
version of TTempSmooth that doesn't take the mdiff/mdiffC parameters (it is equivalent to running
TTempSmooth with mdiff/mdiffC set equal to or greater then LThresh/CThresh).</p>
<h3>Syntax</h3>
<p><code>TTempSmooth</code> (clip, int <var>&quot;maxd&quot;</var>, int <var>&quot;LThresh&quot;</var>, int
<var>&quot;CThresh&quot;</var>, int <var>&quot;mdiff&quot;</var>, int <var>&quot;mdiffC&quot;</var>)<br>
<code>TTempSmoothF</code> (clip, int <var>&quot;maxd&quot;</var>, int <var>&quot;LThresh&quot;</var>, int
<var>&quot;CThresh&quot;</var>)</p>
<h3>PARAMETERS</h3>
<p><var>   maxd</var> -  (maximum temporal diameter)</p>
<p>This sets the maximum temporal diameter.  By the way it works TTempSmooth automatically varies the
diameter used.  This sets the maximum boundary.  Possible values are 5, 7, and 9.  At 9 TTempSmooth
will be (at max) including pixels from 4 frames away in the average.  At 7 it would be including
pixels from 3 frames away, etc...  With the way it checks motion there isn't really much danger in
setting this high, it's basically a quality vs. speed option.  Lower settings are faster.  Larger
values tend to create a more stable image.</p>
<p>default = 7 (int)</p>
<p><var>LThresh</var>/<var>CThresh</var> - (luma and chroma thesholds)</p>
<p>Your standard luma and chroma thresholds for differences of pixels between frames.  Actually
TTempSmooth checks 2 frame distance as well so these can usually be set slightly higher then
with most other temporalsmoothers and still avoid artifacts.  Valid settings are from 0 to 256.
Also important is the fact that as long as mdiff is under Thresh then pixels with larger&nbsp;<br>
      differences from the original have less weight in the average.  Thus even with rather large thresholds      pixels just under the threshold wont have much weight in the average, helping to reduce
artifacts.</p>
<p>default - <var>LThresh</var> = 4  (int)<br>
<var>CThresh</var> = 5  (int)</p>
<p><var>mdiff</var>/<var>mdiffC</var> - (maintain diff) - (only used in TTempSmooth not TTempSmoothF)</p>
<p>Any pixels with differences under these will be blurred at maximum.  Usually the larger the pixel
value difference the smaller the weight in the average.  It basically makes TTempSmooth treat pixels
that are under this difference as the same pixel value.  Avoid setting this too high.  Set this to
a value equal to or greater then LThresh/CThresh to completely disable inverse pixel difference
weighting.  Valid settings are from 0 to 256.</p>
<p>      default - <var>mdiff</var> = 3  (int)<br>
<var>mdiffC</var> = 4 (int)</p>
<h2>Changelog</h2>
<p>   07/29/2004  v0.9.2<br>
       - Modified buffering code to remove unneeded BitBlts()... small speed up (5-10%).<br>
       - Request frames in linear order when completely refilling buffer.<br>
       - Added TTempSmoothF(), a faster version of TTempSmooth (50-75%), which is equivalent to using
TTempSmooth() with mdiff/mdiffC equal to or greater then LThresh/CThresh.  Thus, it only takes
maxd, LThresh, and CThresh as parameters.<br>
       - Changed defaults to be less aggressive.<br>
       - There were no quality changes, the same settings will produce the same output as in v0.9.1.</p>
<p>06/15/2004  v0.9.1<br>
       - Fixed a major bug that caused incorrect calculation of the chroma differences, rendering the
filter completely useless.<br>
       - Got rid of amount/amountC and fixedPoint parameters.  They were unneeded in the case of amount
and fixedPoint = true always worked better then false...<br>
       - Small speed up<br>
       - Changed some of the defaults.</p>
<p>06/11/2004  v0.9<br>
       - Initial Release</p>
<p><kbd>$Date: 2005/10/03 16:31:31 $</kbd>
</p>
</body>
</html>
